Early warning system for locomotive bearings failures

ABSTRACT

Aspects of the present disclosure involve a system and a method for predicting locomotive engine bearing failures (e.g., main bearing failures). In example embodiments, the method may access locomotive data about a particular locomotive engine, and generate a set of element concentration trajectories therefrom. Each element concentration trajectory includes a measure of element concentrations in the locomotive engine&#39;s oil over a period of time. The method further includes determining a health score of the locomotive engine based on a comparison of the set of element concentrations with a set of baseline element concentration trajectories that are representative of element concentrations of a group of locomotive engines&#39; oil over the period of time. The health score provides a measure of the likelihood of bearing failure in the particular locomotive engine. A message regarding the likelihood of bearing failure may then be provided.

TECHNICAL FIELD

The subject matter disclosed herein relates generally to locomotiveengines. In particular, example embodiments relate to systems andmethods for predicting bearing failures in locomotive engines.

BACKGROUND

A locomotive engine's main bearings bear the main load of the engine'scrank-shaft and provide a smooth operating surface. Damage or rapid wearof main bearings due to factors such as manufacturing defects, incorrectinstallation, oil contamination, or excessive debris can ultimately leadto early failure of the main bearings, which can be costly to repair andcause locomotive service disruptions. Because visual inspection of mainbearings is costly and frequently inaccurate, a conventional approachused to assess a bearings health is to monitor concentration of wearmetal, contaminants, and debris by analyzing the engine oil at routineintervals (e.g., every two weeks) for each locomotive. This conventionalapproach involves analyzing element concentration levels (e.g., lead,nickel, potassium, and sodium) and raising an alarm if individualelement concentrations exceed set thresholds. Frequently, theconcentration levels reported are noisy, and often provide an incorrectdepiction of actual element content in the oil because engine oil isconsumed over time and concentration levels can be elevatedartificially.

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present disclosure and are not intended to limit itsscope to the illustrated embodiments. On the contrary, these examplesare intended to cover alternatives, modifications, and equivalents asmay be included within the scope of the disclosure.

FIG. 1 is a block diagram illustrating various functional components ofa locomotive bearing failure warning system, consistent with someexample embodiments.

FIG. 2 is a diagrammatic representation of a machine in the example formof a computer system within which a set of instructions for causing themachine to perform any one or more of the methodologies discussed hereinmay be executed.

FIG. 3 is a flow chart illustrating a method for creating locomotivedata records using data from multiple sources, according to some exampleembodiments.

FIG. 4 is a flow chart illustrating a method for providing a warning ofa potential locomotive bearing failure, according to some exampleembodiments.

FIG. 5 is a flow chart illustrating a method for calculating a healthscore of a locomotive engine bearing, according to some exampleembodiments.

FIG. 6 is a flow chart illustrating a method for displaying a rankedlist of locomotive engine bearings, according to some exampleembodiments.

FIG. 7 is an interface diagram illustrating a user interface forpresenting graphical representations of concentration trajectories andhealth scores, according to some example embodiments.

DETAILED DESCRIPTION

Reference will now be made in detail to specific example embodiments forcarrying out the inventive subject matter of the present disclosure. Inthe following description, specific details are set forth in order toprovide a thorough understanding of the subject matter. It shall beappreciated that embodiments may be practiced without some or all ofthese specific details.

Aspects of the present disclosure involve a system and method forpredicting locomotive engine bearing failures and providing alarms forpredicted failures. In example embodiments, the operation of the systemmay be described in three phases: (1) data collection; (2) trajectorycreation; and (3) health scoring. During the data collection phase, thesystem collects and aggregates information about locomotives fromvarious sources assessable over a network. The data includes, forexample, oil change reports, reports of bearing failures, reports ofbearing change-outs, and maintenance reports.

During the trajectory creation phase, the system generates elementconcentration trajectories for each bearing from the aggregatedinformation. Each element concentration trajectory includesconcentrations (e.g., in parts per million (PPM)) of elements (e.g.,lead, nickel, potassium, and sodium) in a particular locomotive engine'soil over a period of time (e.g., the lifetime of the engine). During thetrajectory creation phase, the system also generates baselineconcentration trajectories using an aggregate of element concentrationtrajectories from a large collection of locomotive engines. The systemmay select a portion of the aggregated element concentrationtrajectories (e.g., 90th percentile) for the baseline elementconcentration trajectories. In this way, each baseline elementconcentration trajectory provides representative (e.g., typical)concentration measurements of the collection of locomotive engines overthe period of time.

During the health scoring phase, the system compares individuallocomotive engine element concentration trajectories with the baselineelement concentration trajectories to create a set of comparisonfeatures including, for example, age (e.g., measured in MWH),instantaneous values, global averages, local averages, trends, and areaabove baseline. The system then compares the set of comparison featuresof the individual locomotive engine to a set of comparison features offailed bearings, and calculates a health score for the locomotive enginebased on the degree of similarity of the two sets of comparisonfeatures. The health score provides a quantified measure of thelikelihood of bearing failure (e.g., main bearing failure) in alocomotive engine over a given time horizon. If the health score isabove a certain threshold, the system provides a failure alarm messageregarding the potential for failure of the bearing. By providing failurealarms before an actual failure, the system can aid railroads avoidingcostly mission failures and service disruptions. Additionally, thesystem may also employ a ranking scheme to help prioritize locomotivesfor inspection or bearing replacement.

FIG. 1 is a block diagram illustrating various functional components ofa bearing failure warning system 100, consistent with some embodiments.To avoid obscuring the inventive subject matter with unnecessary detail,various functional components (e.g., modules and engines) that are notgermane to conveying an understanding of the inventive subject matterhave been omitted from FIG. 1. However, a skilled artisan will readilyrecognize that various additional functional components may be supportedby the bearing failure warning system 100 to facilitate additionalfunctionality that is not specifically described herein.

As is understood by skilled artisans in the relevant computer arts, eachfunctional component (e.g., module) illustrated in FIG. 1 may beimplemented using hardware (e.g., a processor of a machine) or acombination of logic (e.g., executable software instructions) andhardware (e.g., memory and processor of a machine) for executing thelogic. Furthermore, the various functional components depicted in FIG. 1may reside on a single computer (e.g., a laptop), or may be distributedacross several computers in various arrangements such as cloud-basedarchitectures. Moreover, it shall be appreciated that while thefunctional components (e.g., modules) of FIG. 1 are discussed in thesingular sense, in other embodiments, multiple instances of one or moreof the modules may be employed.

As illustrated in FIG. 1, the bearing failure warning system 100includes a user interface module 102, a data collection module 104, atrajectory creation module 106, a health scoring module 108, and aranking module 110, all configured to be in communication with eachother (e.g., via a bus, a shared memory, a network, or a switch) so asto allow information to be passed between the functional components orso as to allow the functional components to share and access commondata. Additionally, each of the functional components illustrated inFIG. 1 may access and retrieve data from one or more networkeddatabases.

As shown, the bearing failure warning system 100 is generally based onthree-layer software architecture, consisting of a front-end layer, alogic layer, and a data layer, although the inventive subject matter isby no means limited to such architecture. The presentation layerconsists of the user interface module 102 that is responsible forpresenting information and handling user interactions related to thefunctions of the bearing failure warning system 100. Accordingly, theinterface module 102 may provide a number of interfaces to users (e.g.,interfaces that are presented on a computing system operated by theuser) that allow the users to view information related to locomotiveengine bearings. For example, the interface module 102 provides userinterfaces for presenting graphical representations of elementconcentration trajectories of locomotive engine bearings over a giventime period. As another example, the user interfaces provided by theinterface module 102 may also include a display of health scores forlocomotive engine bearings along with applicable alarm messages relatedthereto. As yet another example, the interface module 102 also providesuser interfaces for presenting an ordered list of locomotive engines toaid users in prioritizing locomotives for inspection or bearingreplacement.

The interface module 102 may further transmit messages to user devicesregarding information about locomotive engines. Accordingly, theinterface module 102 may include various communication modules (notshown) that utilize any one of a number of message delivery networks andplatforms to deliver messages such as, for example, electronic mail(email), push notifications, instant message (IM), Short Message Service(SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP)) messages.

The application layer of the bearing failure warning system 100 includesthe data collection module 104, the trajectory creation module 106, thehealth scoring module 108, and the ranking module 110. The datacollection module 104 is responsible for collecting and aggregatinglocomotive data from multiple sources. The locomotive data obtained bythe data collection module 104 includes information about multipledifferent locomotives engines, including, for example, oil changerecords 112, maintenance records 114, bearing failure records 116, andbearing change-out records 118. The data collection module 104 mayobtain the locomotive data from one or more network-accessible databasesover a network (e.g., the Internet or an Intranet). Thenetwork-accessible databases may be internal or external to the bearingfailure warning system 100.

Individual oil change records 112 include an identifier of a locomotiveengine, an oil change event, a date of the oil change event, and a setof measurement values (e.g., in PPM) of element concentrations (e.g.lead, copper, silicon, nickel, potassium, and sodium) in locomotiveengine oil at the time of the oil change event. Individual maintenancerecords 114 include an identifier of a locomotive engine, a descriptionof a maintenance event (e.g., routine maintenance performed on alocomotive engine), and a date of the maintenance event. Individualbearing failure records 116 include an identifier of a locomotive engineand a date of a failed bearing in the identified locomotive engine.Individual bearing change-out records 118 include an identifier of alocomotive engine and a date of a bearing replacement in the identifiedlocomotive engine.

The data collection module 104 creates a locomotive data record for eachlocomotive engine identifier included in the locomotive data. Thelocomotive data records created by the data collection module 104collectively compose locomotive data records 120. Each locomotive datarecord included in the locomotive data records 120 is a data structurethat includes a locomotive engine identifier, and information particularto the locomotive engine including oil change events, maintenanceevents, bearing failures, or bearing replacements. Each locomotiverecord further includes indications of oil change intervals for thelocomotive engine. In generating each locomotive data record included inlocomotive data records 120, the data collection module 104 also removesany outlier values (e.g. impossible values) from the correspondinglocomotive data.

The trajectory creation module 106 is responsible for creating elementconcentration trajectories for each locomotive data record included inthe locomotive data records 120. The trajectory creation module 106 maycreate an element concentration trajectory for each element that has acorresponding element concentration measurement in an oil change recordassociated with the locomotive engine. For example, the trajectorycreation module may create an element concentration trajectory for lead,copper, chromium, potassium, and nickel for each locomotive data recordin the locomotive data records 120.

Each element concentration trajectory includes concentrations (e.g.measured in parts per million (ppm)) of the corresponding element in aparticular locomotive engines oil over a period of time (e.g., theperiod of time spanning the first oil change event to the most recentoil change event). The trajectory creation module 106 may generateelement concentration trajectories using intra oil change regression.For example, the trajectory creation module 106 uses linear regressionto estimate a local concentration rates from concentration measurementswithin any two consecutive oil changes included in the locomotive datarecord. These local concentration rates may be accumulated across allconsecutive change intervals to obtain a piecewise linear approximationof element concentrations over time. The trajectory creation module 106may further apply smoothing techniques to the piecewise linearapproximation to filter accumulated concentration levels across oilchange intervals to reduce noise, thereby obtaining an empiricalcumulative element concentration trajectory Each of the elementconcentration trajectories created by the trajectory creation module 106are stored in the corresponding locomotive data record.

The trajectory creation module 106 is also responsible for creatingbaseline element trajectories for each element. In doing so, thetrajectory creation module 106 utilizes the element concentrationtrajectories created for each of the locomotives in the locomotive datarecords 120 to establish a population level baseline concentrationtrajectory for each element. More specifically, the trajectory creationmodule 106 creates each baseline element concentration trajectory byaggregating each element concentration trajectory of a particularelement included in the locomotive data records 120, and selecting arepresentative portion of the aggregate trajectories as the baselinetrajectory (e.g., the 90th percentile). For example, the trajectorycreation module 106 may select a portion of the aggregated elementconcentration trajectory that demarcates normal cases from extreme casesas determined by a statistical mean of concentration values. In thisway, each baseline element concentration trajectory providesrepresentative concentration measurements of the locomotives in thelocomotive data records 120 over the period of time.

The health scoring module 108 is responsible for determining a healthscore for each locomotive engine with a locomotive data record includedin locomotive data records 120. The health scoring module 108 determinesthe health score of a particular locomotive engine based on a comparisonof element concentration trajectories of the particular locomotiveengine to the corresponding baseline element concentration trajectories.More specifically, in comparing the element concentration trajectoriesof a particular locomotive engine to the baseline element concentrationtrajectories, the trajectory creation module creates a set of comparisonfeatures. The set of comparison features may, for example, includelocomotive engine age (e.g., measured in MWH), instantaneous values,global averages, local averages, trends, and area above baselinetrajectories. The health scoring module 108 uses machine learningtechniques to score the set of comparison features based on a collectionof historical locomotive data. For example, in some embodiments, thehealth scoring module 108 may utilize a one class support vector machine(SVM) provided with a training set of comparison features generated fromhistorical locomotive data.

The health scoring module 108 utilizes the SVM to construct a modelincluding a representation of the training set as a collection of pointsin space (e.g., coordinates in a Cartesian coordinate system) thatcollectively define a region in the space. For example, in someembodiments, the training set of comparison features is generated bycomparing baseline element concentration trajectories with elementconcentration trajectories of locomotive engines that have previouslyexperienced a bearing failure. In these embodiments, the one class SVMmay be utilized to build a separating hyperplane in space thatcharacterizes a region of failure. As another example, in someembodiments, the training set of comparison features is generated bycomparing baseline element concentration trajectories with elementconcentration trajectories of locomotive engines that never experienceda bearing failure. In these embodiments, the one class SVM may beutilized to build a separating hyperplane in space that characterizes aregion of normality.

The health scoring module 108 utilizes the model created by the SVM tomap a set of comparison features of a particular locomotive engine as anadditional point in the space defined by the model. Based on thedistance of the mapped set of comparison features to the region definedby the training set, the health scoring module 108 calculates a valuethat corresponds to the health score of the particular locomotiveengine. The health scores determined by the health scoring module 108provide a measure of the likelihood of a bearing failure (e.g., mainbearing failure)in the respective locomotive engines. As an example, inembodiments in which the training set defines a region of failure in thespace, the health score calculated by the health scoring module 108decreases as the mapped set of comparison features gets closer to theregion defined by the training set, thus indicating a higher likelihoodof bearing failure. As another example, in embodiments in which thetraining set defines a region of normality in the space, the healthscore calculated by the health scoring module 108 increases as themapped set of comparison features gets closer to the region defined bythe training set, thus indicating a lower likelihood of bearing failure.

The ranking module 110 is responsible for ranking each of the locomotiveengines included in locomotive data records 120. The ranking scheme usedby the ranking module 110 may include flexible weighted variables suchas age, alarms per year, total number of alarms, max health score, lastalarm date, number of alarm in the last six months, maximum health scoreover the last six months, number of reports in the last six months, daysince last alarm, or oil related recommended actions and faults. Theranking assigned to each locomotive engine by the ranking module 110 maybe used to display each of the locomotive engines in an ordered list tohelp users prioritize locomotive engines for inspection or bearingreplacement.

The data layer of the bearing failure warning system 100 includes theoil change records 112, the maintenance records 114, the bearing failurerecords 116, the bearing change-out records 118, and the locomotive datarecords 120. The data layer may reside on one or more external orinternal databases that may be accessed via a network (e.g., throughinteraction with appropriate database servers).

FIG. 2 is a block diagram illustrating components of a machine 200,according to some example embodiments, able to read instructions from amachine-readable medium (e.g., a machine-readable storage medium) andperform any one or more of the methodologies discussed herein.Specifically, FIG. 2 shows a diagrammatic representation of the machine200 in the example form of a computer system, within which instructions216 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 200 to perform any one ormore of the methodologies discussed herein may be executed. For example,the instructions 216 may transform the general, non-programmed machineinto the bearing failure warning system 100, which is a particularmachine programmed to carry out the described and illustrated functionsin the manner described herein.

The machine 200 may operate as a standalone device or may be coupled(e.g., networked) to other machines. In a networked deployment, themachine 200 may operate in the capacity of a server machine or a clientmachine in a server-client network environment, or as a peer machine ina peer-to-peer (or distributed) network environment. By way ofnon-limiting example, the machine 200 may comprise or correspond to aserver computer, a client computer, a personal computer (PC), a tabletcomputer, a laptop computer, a netbook, a smart phone, a mobile device,a wearable device (e.g., a smart watch), a network switch, a networkbridge, or any machine capable of executing the instructions 216,sequentially or otherwise, that specify actions to be taken by machine200. Further, while only a single machine 200 is illustrated, the term“machine” shall also be taken to include a collection of machines 200that individually or jointly execute the instructions 216 to perform anyone or more of the methodologies discussed herein.

The machine 200 may include processors 210, memory 230, and input/output(I/O) components 250, which may be configured to communicate with eachother such as via a bus 202. In an example embodiment, the processors210 (e.g., a Central Processing Unit (CPU), a Reduced Instruction SetComputing (RISC) processor, a Complex Instruction Set Computing (CISC)processor, a Graphics Processing Unit (GPU), a Digital Signal Processor(DSP), an Application Specific Integrated Circuit (ASIC), aRadio-Frequency Integrated Circuit (RFIC), another processor, or anysuitable combination thereof) may include, for example, processor 212and processor 214 that may execute instructions 216. The term“processor” is intended to include multi-core processor that maycomprise two or more independent processors (sometimes referred to as“cores”) that may execute instructions contemporaneously. Although FIG.2 shows multiple processors, the machine 200 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core process), multiple processors with a single core,multiple processors with multiples cores, or any combination thereof.

The memory/storage 230 may include a memory 232, such as a main memory,or other memory storage, and a storage unit 236, both accessible to theprocessors 210 such as via the bus 202. The storage unit 236 and memory232 store the instructions 216 embodying any one or more of themethodologies or functions described herein. In some embodiments, thestorage unit 236 may also store all or part of the oil change records112, maintenance records 114, bearing failure records 116, bearingchange-out records 118, and locomotive records 120. The instructions 216may also reside, completely or partially, within the memory 232, withinthe storage unit 236, within at least one of the processors 210 (e.g.,within the processor's cache memory), or any suitable combinationthereof, during execution thereof by the machine 200. Accordingly, thememory 232, the storage unit 236, and the memory of processors 210 areexamples of machine-readable media.

As used herein, “machine-readable medium” means a device able to storeinstructions and data temporarily or permanently and may include, but isnot be limited to, random-access memory (RAM), read-only memory (ROM),buffer memory, flash memory, optical media, magnetic media, cachememory, other types of storage (e.g., Erasable Programmable Read-OnlyMemory (EEPROM)) and/or any suitable combination thereof. The term“machine-readable medium” should be taken to include a single medium ormultiple media (e.g., a centralized or distributed database, orassociated caches and servers) able to store instructions 216. The term“machine-readable medium” shall also be taken to include any medium, orcombination of multiple media, that is capable of storing instructions(e.g., instructions 216) for execution by a machine (e.g., machine 200),such that the instructions, when executed by one or more processors ofthe machine 200 (e.g., processors 210), cause the machine 200 to performany one or more of the methodologies described herein. Accordingly, a“machine-readable medium” refers to a single storage apparatus ordevice, as well as “cloud-based” storage systems or storage networksthat include multiple storage apparatus or devices. The term“machine-readable medium” excludes signals per se.

The I/O components 250 may include a wide variety of components toreceive input, provide output, produce output, transmit information,exchange information, capture measurements, and so on. The specific I/Ocomponents 250 that are included in a particular machine will depend onthe type of machine. For example, portable machines such as mobilephones will likely include a touch input device or other such inputmechanisms, while a headless server machine will likely not include sucha touch input device. It will be appreciated that the I/O components 250may include many other components that are not shown in FIG. 2. The I/Ocomponents 250 are grouped according to functionality merely forsimplifying the following discussion and the grouping is in no waylimiting. In various example embodiments, the I/O components 250 mayinclude output components 252 and input components 254. The outputcomponents 252 may include visual components (e.g., a display such as aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, or a cathode ray tube (CRT)),acoustic components (e.g., speakers), haptic components (e.g., avibratory motor, resistance mechanisms), other signal generators, and soforth. The input components 254 may include alphanumeric inputcomponents (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or other pointinginstrument), tactile input components (e.g., a physical button, a touchscreen that provides location and/or force of touches or touch gestures,or other tactile input components), audio input components (e.g., amicrophone), and the like.

In further example embodiments, the I/O components 250 may includebiometric components 256, motion components 258, environmentalcomponents 260, or position components 262 among a wide array of othercomponents. For example, the biometric components 256 may includecomponents to detect expressions (e.g., hand expressions, facialexpressions, vocal expressions, body gestures, or eye tracking), measurebiosignals (e.g., blood pressure, heart rate, body temperature,perspiration, or brain waves), identify a person (e.g., voiceidentification, retinal identification, facial identification,fingerprint identification, or electroencephalogram basedidentification), and the like. The motion components 258 may includeacceleration sensor components (e.g., accelerometer), gravitation sensorcomponents, rotation sensor components (e.g., gyroscope), and so forth.The environmental components 260 may include, for example, illuminationsensor components (e.g., photometer), temperature sensor components(e.g., one or more thermometer that detect ambient temperature),humidity sensor components, pressure sensor components (e.g.,barometer), acoustic sensor components (e.g., one or more microphonesthat detect background noise), proximity sensor components (e.g.,infrared sensors that detect nearby objects), gas sensors (e.g., gasdetection sensors to detection concentrations of hazardous gases forsafety or to measure pollutants in the atmosphere), or other componentsthat may provide indications, measurements, or signals corresponding toa surrounding physical environment. The position components 262 mayinclude location sensor components (e.g., a Global Position System (GPS)receiver component), altitude sensor components (e.g., altimeters orbarometers that detect air pressure from which altitude may be derived),orientation sensor components (e.g., magnetometers), and the like.

Communication may be implemented using a wide variety of technologies.The I/O components 250 may include communication components 264 operableto couple the machine 200 to a network 280 or devices 270 via coupling282 and coupling 272, respectively. For example, the communicationcomponents 264 may include a network interface component or othersuitable device to interface with the network 280. In further examples,communication components 264 may include wired communication components,wireless communication components, cellular communication components,Near Field Communication (NFC) components, Bluetooth® components (e.g.,Bluetooth® Low Energy), Wi-Fi® components, and other communicationcomponents to provide communication via other modalities. The devices270 may be another machine or any of a wide variety of peripheraldevices (e.g., a peripheral device coupled via a Universal Serial Bus(USB)).

Moreover, the communication components 264 may detect identifiers orinclude components operable to detect identifiers. For example, thecommunication components 264 may include Radio Frequency Identification(RFID) tag reader components, NFC smart tag detection components,optical reader components (e.g., an optical sensor to detectone-dimensional bar codes such as Universal Product Code (UPC) bar code,multi-dimensional bar codes such as Quick Response (QR) code, Azteccode, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2Dbar code, and other optical codes), or acoustic detection components(e.g., microphones to identify tagged audio signals). In addition, avariety of information may be derived via the communication components264, such as, location via Internet Protocol (IP) geo-location, locationvia Wi-Fi® signal triangulation, location via detecting a NFC beaconsignal that may indicate a particular location, and so forth.

In various example embodiments, one or more portions of the network 280may be an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), the Internet, a portion of the Internet, a portion of the PublicSwitched Telephone Network (PSTN), a plain old telephone service (POTS)network, a cellular telephone network, a wireless network, a Wi-Fi®network, another type of network, or a combination of two or more suchnetworks. For example, the network 280 or a portion of the network 280may include a wireless or cellular network and the coupling 282 may be aCode Division Multiple Access (CDMA) connection, a Global System forMobile communications (GSM) connection, or other type of cellular orwireless coupling. In this example, the coupling 282 may implement anyof a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1xRTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (GPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard setting organizations, other long rangeprotocols, or other data transfer technology.

The instructions 216 may be transmitted or received over the network 280using a transmission medium via a network interface device (e.g., anetwork interface component included in the communication components264) and utilizing any one of a number of well-known transfer protocols(e.g., Hypertext Transfer Protocol (HTTP)). Similarly, the instructions216 may be transmitted or received using a transmission medium via thecoupling 272 (e.g., a peer-to-peer coupling) to devices 270. The term“transmission medium” shall be taken to include any intangible mediumthat is capable of storing, encoding, or carrying instructions 216 forexecution by the machine 200, and includes digital or analogcommunications signals or other intangible medium to facilitatecommunication of such software.

FIG. 3 is a flow chart illustrating a method 300 for creating locomotivedata records using data from multiple sources, according to some exampleembodiments. The method 300 may be embodied in computer-readableinstructions for execution by a hardware component (e.g., a processor)such that the operations of the method 300 may be performed by thebearing failure warning system 100. In particular, the operations of themethod 300 may be performed in part or in whole by the functionalcomponents forming the bearing failure warning system 100, accordingly,the method 300 is described below, by way of example with referencethereto. However, it shall be appreciated that the method 300 may bedeployed on various other hardware configurations and is not intended tobe limited to the bearing failure warning system 100.

At operation 305, the data collection module 104 obtains oil changerecords 112 from one or more network-accessible databases (e.g., overthe network 280). Individual oil change records 112 include a locomotiveengine identifier, an oil change event, a date (e.g., including a month,day of the month, year, and time) of the oil change event, and a set ofmeasurement values (e.g., in PPM) of element concentrations in engineoil at the time of the oil change event. For example, oil change recordsmay include measurement values for concentrations of lead, copper,chromium, potassium, and nickel.

At operation 310, the data collection module 104 obtains maintenancerecords 114 from one or more network-accessible databases (e.g., overthe network 280). Individual maintenance records 114 include anidentifier of a locomotive engine, a description of a maintenance event(e.g., routine maintenance performed on a locomotive engine), and a dateof the maintenance event.

At operation 315, the data collection module obtains bearing failurerecords 116 from one or more network-accessible databases (e.g., overthe network 280). Individual bearing failure records 116 include anidentifier of a locomotive engine and a date of a failed bearing in theidentified locomotive engine.

At operation 320, the data collection module 104 obtains bearingchange-out records 118 from one or more network-accessible databases.The bearing change-out records 118 include records of bearingreplacements in locomotive engines. Individual bearing change-outrecords 118 include an identifier of a locomotive engine and a date of abearing replacement in the identified locomotive engine.

At operation 325, the data collection module 104 identifies individuallocomotive engines included in the obtained oil change records 112,maintenance records 114, bearing failure records 116, and bearingchange-out records 118. For each locomotive engine identified, the datacollection module 104 creates a locomotive data record in anetwork-accessible database, at operation 330. Each locomotive datarecord includes locomotive data comprising pertinent oil change records,maintenance records, bearing failure records, and bearing change-outrecords.

At operation 335, the data collection module 104 determines an engineage for each locomotive data record. The engine age may be representedby the amount of energy produced by the locomotive engine over itslifetime which may, for example, be measured in MWH. The engine age isstored in the corresponding locomotive data record.

At operation 340, the data collection module 104 determines an oilchange interval for each locomotive data record. The data collectionmodule 104 determines individual oil change intervals based on ananalysis of oil change events included in the locomotive data record.The data collection module 104 stores the determined oil change intervalin the corresponding locomotive data record.

FIG. 4 is a flow chart illustrating a method for providing a warning ofa potential locomotive bearing failure, according to some exampleembodiments. The method 400 may be embodied in computer-readableinstructions for execution by a hardware component (e.g., a processor)such that the operations of the method 400 may be performed by thebearing failure warning system 100. In particular, the operations of themethod 400 may be performed in part or in whole by the functionalcomponents forming the bearing failure warning system 100, accordingly,the method 400 is described below, by way of example with referencethereto. However, it shall be appreciated that the method 400 may bedeployed on various other hardware configurations and is not intended tobe limited to the bearing failure warning system 100.

At operation 405, the trajectory creation module 106 accesses alocomotive data record for a particular locomotive engine (e.g., from adatabase on the bearing failure warning system 100). The locomotive datarecord includes locomotive data about the locomotive engine including,for example, oil change events, sets of element concentrationmeasurements for each oil change event, maintenance records, bearingfailure records, and bearing change-out records.

At operation 410, the trajectory creation module 106 creates a set ofelement concentration trajectories for the particular locomotive engine.The set of element concentration trajectories includes a concentrationtrajectory for each element included in the set of element concentrationmeasurements included in the locomotive data record. For example, if thelocomotive data record includes concentration measurements for lead,copper, chromium, potassium, and nickel, the trajectory creation module106 creates an element concentration trajectory for lead, copper,chromium, potassium, and nickel. Each element concentration trajectoryincludes concentrations (e.g., ppm) of the corresponding element in theparticular locomotive engine's oil over a period of time (e.g., theperiod of time spanning the first oil change event to the most recentoil change event).

The trajectory creation module 106 may generate cumulative elementconcentration trajectories using intra oil change regression. Forexample, the trajectory creation module 106 uses linear regression toestimate a local concentration rates from concentration measurementswithin any two consecutive oil changes included in the locomotive datarecord. These local concentration rates may be accumulated across allconsecutive change intervals to obtain a piecewise linear approximationof element concentrations over time. The trajectory creation module 106may further apply smoothing techniques to the piecewise linearapproximation to filter accumulated concentration levels across oilchange intervals to reduce noise, thereby obtaining an empiricalcumulative element concentration trajectory.

At operation 415, the trajectory creation module 106 creates a set ofbaseline element concentration trajectories from an aggregate ofrespective element concentration trajectories of a collection oflocomotive engines. The set of baseline element concentrationtrajectories may include a baseline concentration trajectory for eachelement found in locomotive engine oil. For example, the trajectorycreation module 106 may create element concentration trajectories foreach locomotive engine included in locomotive data records 120. Increating the set of baseline element concentration trajectories, thetrajectory creation module 106 aggregates the element concentrationtrajectories for each element to establish a population level baseline.For example, the trajectory creation module 106 may create a populationlevel baseline for each of lead, copper, chromium, potassium, and nickelusing an aggregate of corresponding element concentration trajectoriesincluded in individual locomotive data records. The trajectory creationmodule 106 may then select a representative portion of the populationlevel baseline of each element as the baseline concentration trajectory(e.g., a portion of the data that demarcates normal cases from extremecases) for each element. In this manner, each baseline elementconcentration trajectory provides a representative (e.g., typical)concentration values for a particular element for the collection oflocomotive engines.

At operation 420, the health scoring module 108 calculates a healthscore for the locomotive engine based on a comparison of the particularlocomotive engine's element concentration trajectories (e.g., cumulativeelement concentration trajectories) with the corresponding baselineelement concentration trajectories. The health scoring module 108 may,in some embodiments, employ machine learning techniques to score the setof comparison features based on a collection of historical locomotivedata. For example, in some embodiments, the health scoring module 108may utilize a one class SVM provided with a training set of comparisonfeatures generated from historical locomotive data. The scoring of thelocomotive engine by the health scoring module 108 may includedeveloping the set of comparison features based on the comparison withthe baseline element concentration trajectories and classifying andscoring the set of comparison features using a one class SVM. Furtherdetails of the calculation of the health score are discussed below inreference to FIG. 5, according to some example embodiments. At operation425, the health scoring module 108 updates the locomotive data recordwith the determined health score of the locomotive engine.

At operation 430, the health scoring module 108 determines whether thehealth score is above a predefined threshold. The predefined thresholdscore may be based on historical health score values determined throughanalysis of historical data records. If at operation 430, the healthscoring module 108 determines that the health score is not above thepredefined threshold, performance of the method 400 is suspended untilan update to the locomotive data occurs (e.g., due to a new oil changereport being generated).

If at operation 430, the health scoring module 108 determines that thehealth score is above the threshold, the interface module 102 providesan alarm message regarding the likelihood of failure of a bearing (e.g.,main bearing) in the locomotive engine, at operation 435. The providingof the alarm message may, in some embodiments, include transmitting amessage (e.g., an e-mail, a text message, or a push notification) to oneor more computing devices of a responsible party. In some otherembodiments, the providing of the alarm message may include causingdisplay of a user interface on a computer device (e.g. one of thedevices 270) that includes the alarm message regarding the likelihood ofbearing failure (e.g., main bearing failure) in the locomotive engine.

The method 400 may be performed on an ongoing basis such that if anyportion of the locomotive data record is updated, the method 400 isrepeated. In this way, the bearing failure warning system 100re-calculates the health score for the particular locomotive engine inresponse to an update to the locomotive data. For example, if a new oilchange report is generated based on a new oil change occurring on thelocomotive engine, the method 400 will be performed based on the updatedoil change data (e.g., new element concentration measurements).

FIG. 5 is a flow chart illustrating a method 500 for calculating ahealth score of a locomotive engine bearing, according to some exampleembodiments. Consistent with some embodiments, the operations of themethod 500 may be performed as part of the operation 420 of the method500. The method 500 may be embodied in computer-readable instructionsfor execution by a hardware component (e.g., a processor) such that theoperations of the method 500 may be performed by the bearing failurewarning system 100. In particular, the operations of the method 500 maybe performed in part or in whole by the functional components formingthe bearing failure warning system 100, accordingly, the method 500 isdescribed below, by way of example with reference thereto. However, itshall be appreciated that the method 500 may be deployed on variousother hardware configurations and is not intended to be limited to thebearing failure warning system 100.

At operation 505, the health scoring module 108 accesses a previouslygenerated training set of comparison features. The training set ofcomparison features may be generated by the health scoring module 108based on a comparison of historical locomotive data with the baselineelement concentration trajectories determined by the trajectory creationmodule 106. The training set of comparison features may, for example,include locomotive engine age (e.g., MWH), instantaneous values, globalaverages, local averages, trends, and area above baseline trajectories.In some embodiments, the training set of comparison features isgenerated by comparing baseline element concentration trajectories withelement concentration trajectories of locomotive engines that havepreviously experienced a bearing failure. In other embodiments, thetraining set of comparison features is generated by comparing baselineelement concentration trajectories with element concentrationtrajectories of locomotive engines that have never experienced a bearingfailure.

At operation 510, the health scoring module 108 builds a one class SVMmodel using the training set. In this way, the health scoring module 108creates a representation of the training set as points in space (e.g.,in a Cartesian coordinate system) forming a region. In instances inwhich the training set is based on locomotive engines that haveexperienced bearing failure, the generating of the representation of thetraining set as points in space may include building a separatinghyperplane characterizing a region of failure. In instances in which thetrain set is based on locomotive engines that have not experiencedbearing failure, the generating of the representation of the trainingset as points in space may include building a separating hyperplanecharacterizing the region of normality.

At operation 515, the health scoring module 108 generates a set ofcomparison features for a particular locomotive engine using the elementconcentration trajectories of the particular locomotive engine. The setof comparison features for the particular locomotive engine may, forexample, include age, instantaneous values, global averages, localaverages, trends, and area above baseline trajectories, though the setof comparison features may vary depending on locomotive engine type.Accordingly, the generating of the set of comparison features mayinclude determining locomotive engine age, determining instantaneousvalues, calculating global averages, calculating local averages,determining trends, and determining an area between elementconcentration trajectories and baseline element concentrationtrajectories.

In some embodiments, the generating of the set of comparison featuresmay include performing smoothing techniques on the element concentrationtrajectories, and normalizing the data with respect to age. Thenormalization of the data may include using a difference in ratiobetween the actual values of the element concentration trajectories andthe baseline values of the baseline element concentration trajectories.In some instances, localized slopes of smoothed concentrationtrajectories and divergence from the baseline trajectories may be usedto generate features. In some instances, the generation of the set ofcomparison features may be based on domain knowledge (e.g., wear metals,contaminants, and quality indicators).

At operation 520, the health scoring module 108 maps the set ofcomparison features into the SVM model space. In other words, the healthscoring module 108 generates a representation of the set of comparisonfeatures as points in the space in which the representations of thetraining set of comparison features reside.

At operation 525, the health scoring module 108 determines the healthscore of the locomotive engine based on the mapping of the set ofcomparison features into the SVM model. More specifically, the healthscoring module 108 determines the health score of the locomotive enginebased on the distance of the mapped set of comparison features of theparticular locomotive engine to the mapped training set of comparisonfeatures. The health score provides a measure of the likelihood of afailure of a bearing (e.g., a main bearing) in the particular locomotiveengine.

As an example, in embodiments in which the training set defines a regionof failure in the space, the distance from the mapped set of comparisonfeatures to the region of failure indicates the locomotive engine'ssimilarity to locomotive engines that have experienced bearing failure,and thus, the closer the mapped set of comparison features is to theregion of failure the higher the likelihood that the locomotive enginewill experience bearing failure. Accordingly, consistent with theseembodiments, the health scoring module 108 calculates the health scoresuch that the health score decreases the closer the mapped set ofcomparison features is to the region of failure. In other words, thehealth score is directly proportional to the distance from the mappedset of comparison features to the region of failure.

As another example, in embodiments in which the training set defines aregion of normality in the space, the distance from the mapped set ofcomparison features to the region of normality indicates the locomotiveengine's similarity to locomotive engines that have not experiencedbearing failure, and thus, the closer the mapped set of comparisonfeatures is to the region of normality the lower the likelihood that thelocomotive engine will experience bearing failure. Accordingly,consistent with these embodiments, the health scoring module 108calculates the health score such that the health score increases thecloser the mapped set of comparison features is to the region ofnormality. In other words, the health score is inversely proportional tothe distance from the mapped set of comparison features to the region ofnormality.

It shall be appreciated that the method 500 is merely an example ofoperations that may be included in determining a health score of alocomotive, and the determination of the health score is not limited inapplication by use of a one class SVM. In other embodiments, othermachine learning techniques may be employed. For example, in otherembodiments, an SVM with multiple classes of training sets may beemployed so as to include consideration of both regions of normality andregions of failure in calculating the health score.

FIG. 6 is a flow chart illustrating a method 600 for displaying a rankedlist of locomotive engine bearings, according to some exampleembodiments. The method 600 may be embodied in computer-readableinstructions for execution by a hardware component (e.g., a processor)such that the operations of the method 600 may be performed by thebearing failure warning system 100. In particular, the operations of themethod 600 may be performed in part or in whole by the functionalcomponents forming the bearing failure warning system 100, accordingly,the method 600 is described below, by way of example with referencethereto. However, it shall be appreciated that the method 600 may bedeployed on various other hardware configurations and is not intended tobe limited to the bearing failure warning system 100.

At operation 605, the health scoring module 108 calculates health scoresfor a group of locomotive engines. For example, the health scoringmodule 108 may calculate a health score for each locomotive engine witha corresponding locomotive data record maintained in a database of thebearing failure warning system 100 (e.g., locomotive data records 120)based on information included therein. Individual health scores providea measure of likelihood of bearing failure in respective locomotiveengines. Further details regarding the calculation of health scores arediscussed above in reference to FIG. 5, according to some exampleembodiments.

At operation 610, the ranking module 110 ranks the group of locomotiveengines based in part on the calculated health score. The ranking module110 may rank the locomotive engines according to a number of weighted orunweighted variables including, for example, engine age, alarms peryear, total number of alarms, maximum health score, last alarm date,number of alarms in the last six months, maximum health score in thelast six months, number of reports in the last six months, day sincelast alarm, or oil prescriptions and faults.

At operation 615, the interface module 102 causes display of a userinterface including an ordered list of locomotive engine identifiers inwhich the order is based on the rank determined by the ranking module110. In this way, the bearing failure warning system 100 helps usersprioritize locomotive engines for inspection or bearing replacement. Tothis end, the user interface may further include one or more indicatorsor messages regarding the likelihood of bearing failure in any one ofthe listed locomotive engines.

FIG. 7 is an interface diagram illustrating a user interface 700 forpresenting graphical representations of concentration trajectories andhealth scores, according to some example embodiments. As shown, the userinterface 700 includes graphical representations of elementconcentration trajectories and health scores for multiple locomotiveengines, namely locomotive engines 702, 704, 706, and 708, an identifierof each of which is displayed on top of each column of graphicalrepresentations. The user interface 700 includes a graphs of elementconcentration trajectories for lead, copper, chromium, potassium, andnickel for each of the locomotive engines 702, 704, 706, and 708. Eachgraph further includes a plot of a baseline element trajectory for thecorresponding element to provide a visual comparison of the elementconcentration trajectories of each of the locomotive engines 702, 704,706, and 708 with the baseline concentration trajectories for eachelement. For each element trajectory graph displayed in user interface700, the horizontal or “X” axis corresponds to time, and the vertical or“Y” axis corresponds to concentration levels measured in PPM.Accordingly, each plotted point corresponds to an element concentrationlevel of a particular locomotive engine's oil at a particular time(e.g., a date of an oil change event, which is included in thelocomotive data record of each locomotive).

As a representative example, for locomotive engine 702 user interface700 includes: a graph 710 depicting a lead concentration trajectory 712and a baseline lead concentration trajectory 714; a graph 716 depictinga copper concentration trajectory 718 and a baseline copperconcentration trajectory 720; a graph 722 depicting a chromiumconcentration trajectory 724 and a baseline chromium concentrationtrajectory 726; a graph 728 depicting a potassium concentrationtrajectory 730 and a baseline potassium concentration trajectory 732;and a graph 734 depicting a nickel concentration trajectory 736 and abaseline concentration trajectory 738.

The user interface 700 further includes a graph of health scores foreach of the locomotive engines 702, 704, 706, and 708. For each healthscore graph displayed in user interface 700, the horizontal or “X” axiscorresponds to time, and the vertical or “Y” axis corresponds to healthscore. Accordingly, each plotted point in the health score graphscorresponds to a health score of a particular locomotive engine oil at aparticular time. Each health score provides an indication of thelikelihood of a bearing failure in a particular locomotive engine at theparticular time. Each plotted health score is determined based on acomparison of element concentration trajectories with baseline elementconcentration trajectories according to the methodologies describedherein. Each plotted health score may further include a plot of athreshold score to aid users in visual comparison and assessment oflocomotive engine health (e.g., the likelihood that the engine willexperience bearing failure). As a representative example, for locomotiveengine 704 the user interface 700 includes a graph 740 depicting healthscores of the locomotive engine 704 over time and a threshold score 744,which indicates a high likelihood of engine bearing failure. As shown,the graph 740 includes instances in which the health score of thelocomotive engine 704 transgresses the threshold score 744, which is anindicator that, in those instances, the locomotive engine 704 had a highlikelihood of engine bearing failure.

Modules, Components and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A hardware module is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client, or server computersystem) or one or more hardware modules of a computer system (e.g., aprocessor or a group of processors) may be configured by software (e.g.,an application or application portion) as a hardware module thatoperates to perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field-programmable gatearray (FPGA) or an ASIC) to perform certain operations. A hardwaremodule may also comprise programmable logic or circuitry (e.g., asencompassed within a general-purpose processor or other programmableprocessor) that is temporarily configured by software to perform certainoperations. It will be appreciated that the decision to implement ahardware module mechanically, in dedicated and permanently configuredcircuitry, or in temporarily configured circuitry (e.g., configured bysoftware) may be driven by cost and time considerations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired) or temporarilyconfigured (e.g., programmed) to operate in a certain manner and/or toperform certain operations described herein. Considering embodiments inwhich hardware modules are temporarily configured (e.g., programmed),each of the hardware modules need not be configured or instantiated atany one instance in time. For example, where the hardware modulescomprise a general-purpose processor configured using software, thegeneral-purpose processor may be configured as respective differenthardware modules at different times. Software may accordingly configurea processor, for example, to constitute a particular hardware module atone instance of time and to constitute a different hardware module at adifferent instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multipleof such hardware modules exist contemporaneously, communications may beachieved through signal transmission (e.g., over appropriate circuitsand buses that connect the hardware modules). In embodiments in whichmultiple hardware modules are configured or instantiated at differenttimes, communications between such hardware modules may be achieved, forexample, through the storage and retrieval of information in memorystructures to which the multiple hardware modules have access. Forexample, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices, and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partiallyprocessor-implemented. For example, at least some of the operations of amethod may be performed by one or more processors orprocessor-implemented modules. The performance of certain of theoperations may be distributed among the one or more processors, not onlyresiding within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment, or a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors), with these operations being accessiblevia a network (e.g., the Internet) and via one or more appropriateinterfaces (e.g., APIs).

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry,or in computer hardware, firmware, or software, or in combinations ofthem. Example embodiments may be implemented using a computer programproduct, for example, a computer program tangibly embodied in aninformation carrier, for example, in a machine-readable medium forexecution by, or to control the operation of, data processing apparatus,for example, a programmable processor, a computer, or multiplecomputers.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a standalone program or as a module, subroutine,or other unit suitable for use in a computing environment. A computerprogram can be deployed to be executed on one computer or on multiplecomputers at one site, or distributed across multiple sites andinterconnected by a communication network.

In example embodiments, operations may be performed by one or moreprogrammable processors executing a computer program to performfunctions by operating on input data and generating output. Methodoperations can also be performed by, and apparatus of exampleembodiments may be implemented as, special purpose logic circuitry(e.g., an FPGA or an ASIC).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. Inembodiments deploying a programmable computing system, it will beappreciated that both hardware and software architectures meritconsideration. Specifically, it will be appreciated that the choice ofwhether to implement certain functionality in permanently configuredhardware (e.g., an ASIC), in temporarily configured hardware (e.g., acombination of software and a programmable processor), or in acombination of permanently and temporarily configured hardware may be adesign choice. Below are set out hardware (e.g., machine) and softwarearchitectures that may be deployed, in various example embodiments.

Although the embodiments of the present invention have been describedwith reference to specific example embodiments, it will be evident thatvarious modifications and changes may be made to these embodimentswithout departing from the broader scope of the inventive subjectmatter. Accordingly, the specification and drawings are to be regardedin an illustrative rather than a restrictive sense. The accompanyingdrawings that form a part hereof show by way of illustration, and not oflimitation, specific embodiments in which the subject matter may bepracticed. The embodiments illustrated are described in sufficientdetail to enable those skilled in the art to practice the teachingsdisclosed herein. Other embodiments may be used and derived therefrom,such that structural and logical substitutions and changes may be madewithout departing from the scope of this disclosure. This DetailedDescription, therefore, is not to be taken in a limiting sense, and thescope of various embodiments is defined only by the appended claims,along with the full range of equivalents to which such claims areentitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent, to those of skill inthe art, upon reviewing the above description.

All publications, patents, and patent documents referred to in thisdocument are incorporated by reference herein in their entirety, asthough individually incorporated by reference. In the event ofinconsistent usages between this document and those documents soincorporated by reference, the usage in the incorporated referencesshould be considered supplementary to that of this document; forirreconcilable inconsistencies, the usage in this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended; that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim.

What is claimed is:
 1. A method comprising: accessing locomotive datacorresponding to a particular locomotive engine, the locomotive dataincluding one or more sets of element concentration measurementsassociated with the particular locomotive engine; creating a set ofelement concentration trajectories for the particular locomotive enginebased on the locomotive data, each element concentration trajectoryincluding concentration measurements of a particular element over aperiod of time; creating a set of baseline element concentrationtrajectories using information about a plurality of locomotive engines,each baseline element concentration trajectory providing representativeconcentration measurements of the plurality of locomotive engines overthe period of time; calculating, using one or more processors of amachine, a health score for the particular locomotive engine based on acomparison of the set of element concentration trajectories of theparticular locomotive with the set of baseline element concentrationtrajectories, the health score indicating a likelihood of a bearingfailure in the particular locomotive engine; and providing a messageregarding the likelihood of failure of the bearing of the particularlocomotive engine.
 2. The method of claim 1, further comprising:comparing the health score to a predefined threshold; and wherein theproviding of the message is based on a result of the comparing of thehealth score to the predefined threshold.
 3. The method of claim 1,wherein the creating of each element concentration trajectory includes:obtaining a piecewise linear approximation of element concentrationsover the period of time by applying linear regression to concentrationmeasurement values included in the locomotive data; applying smoothingtechniques to the piecewise linear approximation to accumulateconcentration measurements across oil change intervals; and filteringaccumulated concentration measurements.
 4. The method of claim 1,wherein the creating of each baseline element concentration trajectoryincludes: creating an element concentration trajectory for eachlocomotive engine in the plurality of locomotive engines; aggregatingthe created element concentration trajectories to create a populationlevel baseline; and selecting a representative portion of the populationlevel baseline as the baseline element concentration trajectory.
 5. Themethod of claim 1, wherein the calculating of the health score includes:comparing the set of element concentration trajectories of theparticular locomotive with the set of baseline element concentrationtrajectories; determining a set of comparison features based on thecomparing of the set of element concentrations trajectories of theparticular locomotive with the set of baseline element concentrationtrajectories; and comparing the set of comparison features with atraining set of comparison features generated based on a comparison ofhistorical locomotive data of the plurality of locomotives with the setof baseline element concentration trajectories.
 6. The method of claim5, wherein the comparing of the set of comparison features with thetraining set of comparison features includes using a one class supportvector machine (SVM) to determine a similarity between the set ofcomparison features and the training set of comparison features, whereinthe health score is based on the similarity.
 7. The method of claim 5,wherein the set of comparison features includes at least one of thegroup comprising: engine age, instantaneous values, global averages,local averages, trends, and area above baseline trajectory.
 8. Themethod of claim 1, further comprising: calculating health scores for theplurality of locomotive engines; ranking the plurality of locomotiveengines based in part on the determined health scores; and causingdisplay of a list of locomotive engine identifiers corresponding to theplurality of locomotive engines, the list of locomotive engineidentifiers being ordered according to the ranking of the locomotiveengine.
 9. The method of claim 1, further comprising: receiving updatedlocomotive data corresponding to the particular locomotive engine, theupdated locomotive data including at least one new element concentrationvalue; and re-calculating the health score in response to receiving theupdated locomotive data.
 10. The method of claim 1, wherein thelocomotive data includes at least one of oil change events, maintenanceevents, bearing failure events, and bearing change-out events.
 11. Themethod of claim 1, wherein the providing of the message includestransmitting at least one of an electronic mail message, text message,or notification to a computer device.
 12. The method of claim 1, whereinthe providing of the message includes causing display of a userinterface, the user interface presenting the message.
 13. The method ofclaim 12, wherein the user interface further includes a graphicalrepresentation of the comparison of the set of element concentrationtrajectories of the particular locomotive with the set of baselineelement concentration trajectories.
 14. A system comprising: one or moreprocessors of a machine; and a machine-readable storage medium storinginstructions that, when executed by the one or more processors, causethe machine to perform operations comprising: accessing locomotive datacorresponding to a particular locomotive engine, the locomotive dataincluding one or more sets of element concentration measurementsassociated with the particular locomotive engine; creating a set ofelement concentration trajectories for the particular locomotive enginebased on the locomotive data, each element concentration trajectoryincluding concentration measurements of a particular element over aperiod of time; creating a set of baseline element concentrationtrajectories using information about a plurality of locomotive engines,each baseline element concentration trajectory providing representativeconcentration measurements of the plurality of locomotive engines overthe period of time; calculating, using one or more processors of amachine, a health score for the particular locomotive engine based on acomparison of the set of element concentration trajectories of theparticular locomotive with the set of baseline element concentrationtrajectories, the health score indicating a likelihood of a bearingfailure in the particular locomotive engine; and providing a messageregarding the likelihood of failure of the bearing of the particularlocomotive engine.
 15. The system of claim 14, wherein the calculatingof the health score includes: comparing the set of element concentrationtrajectories of the particular locomotive with the set of baselineelement concentration trajectories; determining a set of comparisonfeatures based on the comparing of the set of element concentrationstrajectories of the particular locomotive with the set of baselineelement concentration trajectories; and comparing the set of comparisonfeatures with a training set of comparison features generated based on acomparison of historical locomotive data of the plurality of locomotiveswith the set of baseline element concentration trajectories.
 16. Thesystem of claim 15, wherein the set of comparison features includes atleast one of the group comprising: engine age, instantaneous values,global averages, local averages, trends, and area above baselinetrajectory.
 17. The system of claim 14, wherein the operations furthercomprise: calculating health scores for the plurality of locomotiveengines; ranking the plurality of locomotive engines based in part onthe determined health scores; and causing display of a list oflocomotive engine identifiers corresponding to the plurality oflocomotive engines, the list of locomotive engine identifiers beingordered according to the ranking of the locomotive engine.
 18. Thesystem of claim 14, wherein the providing of the message includescausing display of a user interface, the user interface including themessage and a graphical representation of the comparison of the set ofelement concentration trajectories of the particular locomotive with theset of baseline element concentration trajectories.
 19. The system ofclaim 14, wherein the operations further comprise: receiving updatedlocomotive data corresponding to the particular locomotive engine, theupdated locomotive data including at least one new value when comparedto the historical locomotive data; and re-calculating the health scorefor the bearing based on the updated locomotive data.
 20. Anon-transitory machine-readable storage medium embodying instructionsthat, when executed by at least one processor of a machine, cause themachine to perform operations comprising: accessing locomotive datacorresponding to a particular locomotive engine, the locomotive dataincluding one or more sets of element concentration measurementsassociated with the particular locomotive engine; creating a set ofelement concentration trajectories for the particular locomotive enginebased on the locomotive data, each element concentration trajectoryincluding concentration measurements of a particular element over aperiod of time; creating a set of baseline element concentrationtrajectories using information about a plurality of locomotive engines,each baseline element concentration trajectory providing representativeconcentration measurements of the plurality of locomotive engines overthe period of time; calculating, using one or more processors of amachine, a health score for the particular locomotive engine based on acomparison of the set of element concentration trajectories of theparticular locomotive with the set of baseline element concentrationtrajectories, the health score indicating a likelihood of a bearingfailure in the particular locomotive engine; and providing a messageregarding the likelihood of failure of the bearing of the particularlocomotive engine.